package cn.fl.settlement.transform;

import cn.cmm.base.framework.utils.CollectionUtils;
import cn.fl.settle.dto.PrjStlTripleRcdDTO;
import cn.fl.settlement.vo.PrjStlTripleRcdVO;
import org.springframework.beans.BeanUtils;

import java.util.ArrayList;
import java.util.List;

/**
 * @Description:  转换器
 * @Description: VO是客户端传递数据到服务端进行转换的数据
 * @Description: VO转换数据变成DTO传递到服务端
 * @Description: VO不能在服务端出现
 * Created by Admin on 2019/3/12.
 */
public class PrjStlTripleRcdVOTransform {


    /**
     * DTO 转  VO
     * @param dto PrjStlTripleRcdDTO
     * @return PrjStlTripleRcdVO
     */
    public static PrjStlTripleRcdVO toVO(PrjStlTripleRcdDTO dto) {
        PrjStlTripleRcdVO  vo = null;
        if (dto != null) {
            vo = new PrjStlTripleRcdVO();
            BeanUtils.copyProperties(dto, vo);
        }
        return vo;
    }

    /**
     * VO 转 DTO
     * @param vo PrjStlTripleRcdVO
     * @return PrjStlTripleRcdDTO
     */
    public static PrjStlTripleRcdDTO toDTO(PrjStlTripleRcdVO vo) {
        PrjStlTripleRcdDTO dto = null;
        if (vo != null) {
            dto = new PrjStlTripleRcdDTO();
            BeanUtils.copyProperties(vo, dto);
        }
        return dto;
    }

    /**
     * DTO集合 转 VO集合
     * @param list<CapCstStmApplyDTO>
     * @return List<PrjStlTripleRcdVO>
     */
    public static List<PrjStlTripleRcdVO> toVOList(List<PrjStlTripleRcdDTO> list) {
        List<PrjStlTripleRcdVO>  voList = new ArrayList<PrjStlTripleRcdVO>();
        if(CollectionUtils.isNotEmpty(list)){
            for (PrjStlTripleRcdDTO dto : list) {
                voList.add(toVO(dto));
            }
        }
        return voList;
    }

    /**
     * VO集合 转 DTO集合
     * @param list List<PrjStlTripleRcdVO>
     * @return List<PrjStlTripleRcdDTO>
     */
    public static List<PrjStlTripleRcdDTO> toDTOList(List<PrjStlTripleRcdVO> list) {
        List<PrjStlTripleRcdDTO>  dtoList = new ArrayList<PrjStlTripleRcdDTO>();
        if(CollectionUtils.isNotEmpty(list)){
            for (PrjStlTripleRcdVO vo : list) {
                dtoList.add(toDTO(vo));
            }
        }
        return dtoList;
    }
}
